
#include "register/tilingdata_base.h"
#include "tiling/tiling_api.h"

namespace optiling {
// BEGIN_TILING_DATA_DEF(SoftMaxTiling)
//   TILING_DATA_FIELD_DEF(uint32_t, srcM);   
//   TILING_DATA_FIELD_DEF(uint32_t, srcK);
//   TILING_DATA_FIELD_DEF(uint32_t, srcSize); 
//   TILING_DATA_FIELD_DEF(uint32_t, outMaxM); 
//   TILING_DATA_FIELD_DEF(uint32_t, outMaxK); 
//   TILING_DATA_FIELD_DEF(uint32_t, outMaxSize); 
//   TILING_DATA_FIELD_DEF(uint32_t, splitM); 
//   TILING_DATA_FIELD_DEF(uint32_t, splitK); 
//   TILING_DATA_FIELD_DEF(uint32_t, splitSize); 
//   TILING_DATA_FIELD_DEF(uint32_t, reduceM); 
//   TILING_DATA_FIELD_DEF(uint32_t, reduceK); 
//   TILING_DATA_FIELD_DEF(uint32_t, reduceSize); 
//   TILING_DATA_FIELD_DEF(uint32_t, rangeM); 
//   TILING_DATA_FIELD_DEF(uint32_t, tailM); 
//   TILING_DATA_FIELD_DEF(uint32_t, tailSplitSize); 
//   TILING_DATA_FIELD_DEF(uint32_t, tailReduceSize);    
// END_TILING_DATA_DEF; 
// REGISTER_TILING_DATA_CLASS(SoftMaxTilingOp, SoftMaxTiling)

BEGIN_TILING_DATA_DEF(SoftmaxTilingData)
  TILING_DATA_FIELD_DEF(uint32_t, totallength);
  TILING_DATA_FIELD_DEF(uint32_t, tilelength);
  TILING_DATA_FIELD_DEF(int32_t, dim);
  TILING_DATA_FIELD_DEF(int32_t, lastdimnum);
  TILING_DATA_FIELD_DEF(int32_t, loopcount);
  TILING_DATA_FIELD_DEF(int32_t, v1stlevelloop);
  TILING_DATA_FIELD_DEF(int32_t, v2ndlevleloop);
  TILING_DATA_FIELD_DEF(int32_t, v1stlevelgap);
  TILING_DATA_FIELD_DEF(int32_t, v2ndlevelgap);
  TILING_DATA_FIELD_DEF(int32_t, v3rdlevleloop);
  TILING_DATA_FIELD_DEF(int32_t, connectnum);
  TILING_DATA_FIELD_DEF_STRUCT(SoftMaxTiling, softmaxTilingData);
END_TILING_DATA_DEF;

REGISTER_TILING_DATA_CLASS(Softmax, SoftmaxTilingData)
}
